package cn.dgiot.fd.service;

import com.aliyuncs.iot.model.v20180120.CreateThingModelResponse;
import com.aliyuncs.iot.model.v20180120.DeleteThingModelResponse;
import com.aliyuncs.iot.model.v20180120.PublishThingModelResponse;
import com.aliyuncs.iot.model.v20180120.QueryThingModelResponse;
import com.aliyuncs.iot.model.v20180120.UpdateThingModelResponse;

import cn.dgiot.fd.model.ThingModel;

/**
 * [物模]
 * @author
 *
 */
public interface IThingModelService {
	/**
	 * [创建默认物模]
	 * @param createThingModelResponse
	 * @return
	 */
	CreateThingModelResponse createDefaultThingModel(ThingModel thingModel);

	/**
	 * [刷新默认物模]
	 * @param thingModel
	 */
	PublishThingModelResponse refreshDefaultThingModel(ThingModel thingModel);
	
	/**
	 * [修改默认物模]
	 * @param createThingModelResponse
	 * @return
	 */
	UpdateThingModelResponse updateDefaultThingModel(ThingModel thingModel);
	
	/**
	 * [查询物模]
	 * @param thingModel
	 * @return
	 */
	QueryThingModelResponse queryThingModel(ThingModel thingModel);
	
	/**
	 * [发布物模]
	 * @param thingModel
	 * @return
	 */
	PublishThingModelResponse publishThingModel(ThingModel thingModel);
	
	/**
	 * [删除物模]
	 * @param thingModel
	 * @return
	 */
	DeleteThingModelResponse deleteDefaultThingModel(ThingModel thingModel);
}
